package com.dkts.oil.mysql.entity;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import lombok.Data;

import java.math.BigDecimal;

@Data
@Schema(description = "船舶基本信息实体类")
public class ShipInfo {

    @Id
    @Schema(description = "主键ID", example = "1")
    private Integer id;

    @Schema(description = "海事移动服务识别码（唯一标识船只的号码）", example = "123456789")
    private Long mmsi;

    @Schema(description = "IMO编号（国际海事组织编号，全球唯一）", example = "987654321")
    private String imo;

    @Schema(description = "国籍（船只所属国家）", example = "中国")
    private String nationality;

    @Schema(description = "船名", example = "东风号")
    private String name;

    @Schema(description = "呼号（无线电通信标识）", example = "CN1234")
    private String callsign;

    @Schema(description = "船长（单位：米）", example = "100.50")
    private Double length;

    @Schema(description = "船宽（单位：米）", example = "20.30")
    private Double width;

    @Schema(description = "船体左侧距离AIS安装点距离（单位：米）", example = "5.20")
    private Double left;

    @Schema(description = "船尾到AIS安装点的距离（单位：米）", example = "10.00")
    private Double tail;

    @Schema(description = "吃水深度（米，表示船体入水部分的深度）", example = "8.50")
    private Double draught;

    @Schema(description = "导入uidkey", example = "UNIQUE_123456")
    private String uidkey;

    @Schema(description = "船类型", example = "1")
    private Integer shiptype;

    public ShipInfo() {
    }
    public ShipInfo(Long mmsi, String imo, String nationality, String name, String callsign, Double length, Double width, Double left, Double tail, Double draught, String uidkey,  Integer shiptype) {
        this.mmsi = mmsi;
        this.imo = imo;
        this.nationality = nationality;
        this.name = name;
        this.callsign = callsign;
        this.length = length;
        this.width = width;
        this.left = left;
        this.tail = tail;
        this.draught = draught;
        this.uidkey = uidkey;
        this.shiptype = shiptype;
    }
}
